/**
 * 策划管理
 * @constructor
 */
function Shoporder() {
}

Shoporder.init = function () {

    $('#tableList').bootstrapTable({
        url: '/AppMall/orderTableSearch',
        method: 'post',
        striped : true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle : true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        uniqueId: "id",
        pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search:false,
        showColumns: true,
        showRefresh: true,
        detailView: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
                orderNo: $('#search_orderno').val(), // 请求时向服务端传递的参数
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                title: '序号',//标题  可不加
                align: "center",
                width: 40,
                formatter: function (value, row, index) {
                    var pageSize=$('#tableList').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber=$('#tableList').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            { field: 'orderNo', title: '订单号',align: 'center'},
            { field: 'totalAmount', title: '订单总价',align: 'center'},
            { field: 'createTime', title: '订单创建时间',align: 'center'},
            {
                title: '支付状态',
                align: 'center',
                visible:false,
                formatter: function (value, row, index) {
                    var optionHtml = "";
                    if(row.payState==0) {
                        optionHtml="待支付";
                    }else if(row.payState==1) {
                        optionHtml="已支付";
                    }
                    return optionHtml;
                }
            },
            {
                title: '支付方式',
                align: 'center',
                formatter: function (value, row, index) {
                    var optionHtml = "";
                    if(row.payType==0) {
                        optionHtml="微信支付";
                    }else if(row.payType==1) {
                        optionHtml="余额支付";
                    }
                    return optionHtml;
                }
            },
            {
                title: '订单状态',
                align: 'center',
                formatter: function (value, row, index) {
                    var optionHtml = "";
                    if(row.orderState==0) {
                        optionHtml="待支付";
                    }else if(row.orderState==1) {
                        optionHtml="已支付";
                    }else if(row.orderState==2) {
                        optionHtml="配货完成";
                    } else if(row.orderState==3) {
                        optionHtml="出库成功";
                    }else if(row.orderState==4) {
                        optionHtml="交易成功";
                    }else if(row.orderState==-1) {
                        optionHtml="交易取消";
                    }
                    return optionHtml;
                }
            },
            { field: 'payTime', title: '订单支付时间',align: 'center'},
            { field: 'userName', title: '收货人姓名',align: 'center'},
            { field: 'phone', title: '收货人手机号',align: 'center'},
            { field: 'address', title: '收货地址',align: 'center'},
            { field: 'evaluate', title: '订单评价',align: 'center',visible: false},
            /*{
                title: '操作',
                align: 'center',
                formatter: function (value, row, index) {
                    console.log(row);
                    var optionHtml = "";
                    optionHtml = optionHtml+"<a class=\"btn btn-success btn-xs\"  href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"add\")' title=\"添加二级分类\" ><i class=\"fa fa-edit\"></i>添加二级分类</a>&nbsp";
                    optionHtml = optionHtml+"<a class=\"btn btn-success btn-xs\"  href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"edit\")' title=\"修改\" ><i class=\"fa fa-edit\"></i>修改</a>&nbsp";
                    optionHtml = optionHtml + " <a class=\"btn btn-danger btn-xs\" href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"delete\")'  title=\"删除\"><i class=\"fa fa-remove\"></i>删除</a>"
                    return optionHtml;
                }
            }*/
        ],
        onExpandRow: function (index, row, $detail) {
            InitSubTable(index, row, $detail);
        }
    });
}
//查询方法****************************
function doSearch() {

    $("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
function doSearch2(id) {
    var chid="#child_table"+id;
    $(chid).bootstrapTable(('refresh'));
}
//重置****************************
function doRest() {
    $("#search_name").val("");
    $("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
//增加方法****************************
var Action="";
var id=0;
var parentId=0;
var pxt="/AppMall"; //控制器名称
function addRecord() {
    id=0;
    Action="add";
    $("#myform")[0].reset();

}
//增加/修改数据保存****************************
function saveRecord() {
    //创建传递的参数
    var postdata = {
        id : id,
        action:Action,
        name: $("#text_name").val(),  //分类名称
        sort: $("#text_sort").val(),  //排序值
    };
    //发送异步请求到后台保存用户数据
    $.ajax({
        url:pxt+"/save",
        type:"post",
        data:JSON.stringify(postdata),
        contentType:"application/json",
        dataType:"json",
        success:function(data){
            if (data.code === "200") {
                $('#myModalAdd').modal('hide')
                doSearch();
                swal("操作成功!", "请继续操作", "success");
            } else {
                swal("操作失败!", "请重试", "error");
            }
        }
    });
}
function saveRecord2() {
    //创建传递的参数
    var postdata = {
        id : id,
        action:Action,
        parentId:parentId,
        name: $("#text_name2").val(),  //分类名称
        sort: $("#text_sort2").val(),  //排序值
    };
    //发送异步请求到后台保存用户数据
    $.ajax({
        url:pxt+"/save2",
        type:"post",
        data:JSON.stringify(postdata),
        contentType:"application/json",
        dataType:"json",
        success:function(data){
            if (data.code === "200") {
                $('#myModalAdd2').modal('hide')
                doSearch2(parentId);
                swal("操作成功!", "请继续操作", "success");
            } else {
                swal("操作失败!", "请重试", "error");
            }
        }
    });
}

//操作相关方法****************************
function actionRecord(data,type) {
    if(type==="edit"){
        //修改
        id=data.id;
        Action="edit";
        $("#myform")[0].reset();
        $("#save").removeAttr("disabled");
        WriteData(data)
        $('#myModalAdd').modal('show')
    }else if(type==="edit2"){
        //修改
        id=data.id;
        parentId=data.parentId;
        Action="edit";
        $("#myform2")[0].reset();
        $("#save2").removeAttr("disabled");
        WriteData2(data)
        $('#myModalAdd2').modal('show')
    }else if(type==="add"){
        id=0;
        Action="add";
        parentId=data.id;
        $("#myform2")[0].reset();
        $("#save2").removeAttr("disabled");
        $('#myModalAdd2').modal('show')
    }else if(type==="delete"){
        //删除
        swal({
            title: "确认是否删除",
            text: "是否确认要删除该条记录？",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "删除",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            //点击删除之后此处进行传递后台
            $.ajax({
                type: "delete",
                url: pxt+"/deleteById/"+data.id,
                dataType : "json",
                contentType: "application/json",
                success: function (data, status) {
                    if (data.code == "200") {
                        doSearch();
                        swal("删除成功!", "请继续操作", "success");
                    }else{
                        swal("删除失败!", "请重试", "error");
                    }
                }
            });

        });
    }else if(type==="delete2"){
        parentId=data.parentId;
        //删除
        swal({
            title: "确认是否删除",
            text: "是否确认要删除该条记录？",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "删除",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            //点击删除之后此处进行传递后台
            $.ajax({
                type: "delete",
                url: pxt+"/deleteById/"+data.id,
                dataType : "json",
                contentType: "application/json",
                success: function (data, status) {
                    if (data.code == "200") {
                        doSearch2(parentId);
                        swal("删除成功!", "请继续操作", "success");
                    }else{
                        swal("删除失败!", "请重试", "error");
                    }
                }
            });

        });
    }else if(type=="change") {
        //状态变更
        var alertstr = "未知操作";
        var state = 0;
        if (data.state == 0){
            alertstr = "是否将该分类变更为：激活？";
            state = 1;
        } else if (data.state == 1) {
            alertstr = "是否将该分类变更为：未激活？";
            state = 0;
        }
        swal({
            title: "状态变更",
            text: alertstr,
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            //点击删除之后此处进行传递后台
            //创建传递的参数
            var postdata = {
                action:"change",
                id: data.id,
                state:state,
            };
            $.ajax({
                url:pxt+"/save",
                type:"post",
                data:JSON.stringify(postdata),
                contentType:"application/json",
                dataType:"json",
                success:function(data){
                    if (data.code === "200") {
                        $('#myModalAdd').modal('hide')
                        doSearch();
                        swal("状态已变更!", "请继续操作", "success");
                    } else {
                        swal("操作失败!", "请重试", "error");
                    }
                }
            })
        });
    }
}

//给控件赋值****************************
function WriteData(data) {
    $("#text_name").val(data.name);
    $("#text_sort").val(data.sort);
}
function WriteData2(data) {
    $("#text_name2").val(data.name);
    $("#text_sort2").val(data.sort);
}
function InitSubTable(index, row, $detail) {
    var childid="child_table"+row.id;
    var cur_table = $detail.html('<table id="'+childid+'"></table>').find('table');
    $(cur_table).bootstrapTable({
        url: '/AppMall/orderTableSearch2',
        method: 'post',
        dataField: "data",
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                orderId: row.id, // 请求时向服务端传递的参数
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                title: '序号',//标题  可不加
                align: "center",
                width: 40,
                formatter: function (value, row, index) {
                    var pageSize=$('#tableList').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber=$('#tableList').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            { field: 'goodName', title: '商品名称',align: 'center'},
            { field: 'amount', title: '商品价格',align: 'center'},
            { field: 'number', title: '商品数量',align: 'center'},
            { field: 'totalAmount', title: '商品总价格',align: 'center'},
            { field: 'createTime', title: '创建时间',align: 'center'},
            {
                field: 'imageUrl', title: '商品图片',align: 'center',width: 200,
                formatter:function(value){
                    return "<img src=\""+value+"\" class=\"img-responsive\">";
                }
            },
            /*{
                title: '操作',
                align: 'center',
                formatter: function (value, row, index) {
                    console.log(row);
                    var optionHtml = "";
                    optionHtml = optionHtml+"<a class=\"btn btn-success btn-xs\"  href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"edit2\")' title=\"修改\" ><i class=\"fa fa-edit\"></i>修改</a>&nbsp";
                    optionHtml = optionHtml + " <a class=\"btn btn-danger btn-xs\" href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"delete2\")'  title=\"删除\"><i class=\"fa fa-remove\"></i>删除</a>"
                    return optionHtml;
                }
            }*/
        ]
    });
};
